/**
 * 删除图片消息记录脚本
 * 删除所有内容为"[图片]"的消息记录
 */

const mongoose = require('../db/index');
const { LhxMessage } = require('../db/lhx_models');

async function deleteImageMessages() {
  try {
    console.log('开始删除图片消息记录...');
    
    // 查找所有内容为"[图片]"的消息
    const imageMessages = await LhxMessage.find({ content: '[图片]' });
    
    console.log(`找到 ${imageMessages.length} 条图片消息记录`);
    
    if (imageMessages.length === 0) {
      console.log('没有找到需要删除的图片消息记录');
      return;
    }
    
    // 显示要删除的消息详情
    console.log('\n要删除的消息详情:');
    imageMessages.forEach((msg, index) => {
      console.log(`${index + 1}. 房间ID: ${msg.roomId}, 发送者: ${msg.senderId}(${msg.senderType}), 时间: ${msg.timestamp}`);
    });
    
    // 删除这些消息
    const deleteResult = await LhxMessage.deleteMany({ content: '[图片]' });
    
    console.log(`\n成功删除 ${deleteResult.deletedCount} 条图片消息记录`);
    
    // 验证删除结果
    const remainingImageMessages = await LhxMessage.find({ content: '[图片]' });
    console.log(`删除后剩余图片消息记录: ${remainingImageMessages.length} 条`);
    
  } catch (error) {
    console.error('删除图片消息记录失败:', error);
  } finally {
    // 关闭数据库连接
    await mongoose.connection.close();
    console.log('数据库连接已关闭');
  }
}

// 执行删除操作
deleteImageMessages(); 